/**
 * Proyecto: Cognitum
 * Global IT Services 2008
 * @author
 */
Cognitum.Polizas.Siniestro.Auto.Componentes.Generales = Ext.extend(Karma.FB, {


    initComponent: function() {
        Ext.apply(this, {
            title: 'Datos Generales',
            items: [{
                fieldLabel: 'Numero',
                name: 'Numero',
                allowBlank: true
            }, {
                fieldLabel: 'Fecha',
                name: 'FechaSiniestro',
                xtype: 'datefield',
                allowBlank: true
            }, {
                fieldLabel: 'Estatus',
                name: 'EstatusSiniestro',
                xtype: 'enum.combo',
                enumName: 'Cognitum.Dominio.Polizas.EstatusSiniestroEnum',
                allowBlank: true
            }, {
                fieldLabel: 'Tipo',
                name: 'TipoSiniestroAuto',
                xtype: 'enum.combo',
                enumName: 'Cognitum.Dominio.Polizas.Autos.Siniestros.TipoSiniestroAutoEnum',
                allowBlank: true
            }, {
                entityName: 'Polizas',
                xtype: 'entity.link',
                fieldLabel: 'Poliza',
                name: 'Poliza',
                canAdd: false,
                allowBlank: true,
                preContext: [{
                    value: 0,
                    query: 'p.Ramo.DivisionOperativa = 0'
}],
                    disabled: !Ext.isEmpty(this.value) ? (Ext.isEmpty(this.value.Poliza) ? false : true) : false,
                    listeners: {
                        set: {
                            fn: function() {
                                var poliza = this.getForm().findField('Poliza').getEntityValue();
                                if (PLOG.isDebugEnabled()) {
                                    PLOG.debug('[SiniestroAutos.Poliza.set] Poliza: ' + poliza);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] EstatusPoliza: ' + poliza.EstatusPoliza);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] EstatusCobranza: ' + poliza.EstatusCobranza);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] Aseguradora: ' + poliza.Aseguradora);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] EjecutivoAseguradora: ' + poliza.EjecutivoAseguradora);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] VigenciaInicio: ' + poliza.VigenciaInicio);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] VigenciaFin: ' + poliza.VigenciaFin);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] SubRamo: ' + poliza.SubRamo);
                                    PLOG.debug('[SiniestroAutos.Poliza.set] Movimiento: ' + poliza.Movimiento);
                                }
                                this.getForm().findField('EstatusPoliza').setValue(poliza.EstatusPoliza);
                                this.getForm().findField('EstatusCobranza').setValue(poliza.EstatusCobranza);
                                this.getForm().findField('Aseguradora').setValue(poliza.Aseguradora);
                                this.getForm().findField('EjecutivoAseguradora').setValue(poliza.EjecutivoAseguradora);
                                this.getForm().findField('VigenciaInicio').setValue(poliza.VigenciaInicio);
                                this.getForm().findField('VigenciaFin').setValue(poliza.VigenciaFin);                                
                                this.getForm().findField('Contratante').setValue(poliza.Contratante);
                                if (poliza.SubRamo.Flotilla == 0) {
                                    this.getForm().findField('BienAsegurado').setValue(poliza.Movimiento);
                                }
                            },
                            scope: this
                        }
                    }
                }, {
                    fieldLabel: 'Contratante',
                    name: 'Contratante',
                    entityName: 'Clientes',
                    xtype: 'entity.link',
                    disabled: true
                }, {
                    fieldLabel: 'Inciso',
                    name: 'BienAsegurado',
                    entityName: 'Autos',
                    xtype: 'entity.link',
                    canAdd: false,
                    contextTriggers: [{
                        id: 'Poliza',
                        query: 'a.Estatus=1 and a.Poliza.Id=?'
                    }],
                    disabled: !Ext.isEmpty(this.value) ? (Ext.isEmpty(this.value.Poliza) || this.value.Poliza.SubRamo.Flotilla == true ? false : true) : false,
                    allowBlank: true
                }, {
                    fieldLabel: 'Conductor',
                    name: 'Conductor',
                    entityName: 'ContactoSimple',
                    xtype: 'entity.link',
                    allowBlank: true,
                    contextTriggers: [{
                        id: 'Contratante',
                        query: 'c.Cliente.Id =?'
}]
                        }, {
                            fieldLabel: 'Contacto',
                            name: 'ContactoSiniestro',
                            entityName: 'ContactoSimple',
                            xtype: 'entity.link',
                            allowBlank: true,
                            contextTriggers: [{
                                id: 'Contratante',
                                query: 'c.Cliente.Id =?'
}]
                            }, {
                                fieldLabel: 'Estatus Poliza',
                                name: 'EstatusPoliza',
                                xtype: 'enum.combo',
                                enumName: 'Cognitum.Dominio.Polizas.EstatusPolizaEnum',
                                allowBlank: true,
                                disabled: true
                            }, {
                                fieldLabel: 'Estatus Cobranza',
                                name: 'EstatusCobranza',
                                xtype: 'enum.combo',
                                enumName: 'Cognitum.Dominio.Polizas.EstatusCobranzaEnum',
                                allowBlank: true,
                                disabled: true
                            }, {
                                fieldLabel: 'Aseguradora',
                                name: 'Aseguradora',
                                entityName: 'Aseguradoras',
                                xtype: 'entity.link',
                                allowBlank: true,
                                disabled: true
                            }, {
                                fieldLabel: 'Ejecutivo Aseguradora',
                                name: 'EjecutivoAseguradora',
                                entityName: 'Contacto Persona Moral',
                                xtype: 'entity.link',
                                allowBlank: true,
                                disabled: true
                            }, {
                                fieldLabel: 'Vigencia Inicio',
                                name: 'VigenciaInicio',
                                xtype: 'datefield',
                                allowBlank: true,
                                disabled: true
                            }, {
                                fieldLabel: 'Vigencia Fin',
                                name: 'VigenciaFin',
                                xtype: 'datefield',
                                allowBlank: true,
                                disabled: true
}]
                            });
                            Cognitum.Polizas.Siniestro.Auto.Componentes.Generales.superclass.initComponent.apply(this, arguments);
                        }

                    });

Ext.reg('sinaut.ctls.gral', Cognitum.Polizas.Siniestro.Auto.Componentes.Generales);

////ReparacionVehiculo
Cognitum.Polizas.Siniestro.Auto.Componentes.ReparacionVehiculo = Ext.extend(Karma.FB, {

    initComponent: function(){
    
        Ext.apply(this, {
            title: 'Reparacion Vehiculo',
            propertyName: 'ReparacionVehiculo',
            items: [{
                fieldLabel: 'Id',
                name: 'Id',
				xtype: 'hidden',
                allowBlank: true
            }, {
                fieldLabel: 'Taller',
                name: 'Taller',
                allowBlank: true
            }, {
                fieldLabel: 'Telefono',
                name: 'NumeroTelefonico',
                allowBlank: true
            }, {
                fieldLabel: 'Tipo Taller',
                name: 'TipoTaller',
                xtype: 'enum.combo',
                enumName: 'Cognitum.Dominio.Polizas.Autos.Siniestros.TipoTallerEnum'
            }, {
                fieldLabel: 'Piramide',
                name: 'Piramide',
                allowBlank: true
            }, {
                fieldLabel: 'Orden de Servicio',
                name: 'OrdenServicio',
                allowBlank: true
            }, {
                fieldLabel: 'Jefe de Servicio',
                name: 'JefeServicio',
                entityName: 'ContactoSimple',
                xtype: 'entity.link',
                allowBlank: true
            }, {
                fieldLabel: 'Fecha de Ingreso',
                name: 'FechaIngreso',
                xtype: 'datefield',
                allowBlank: true
            }, {
                fieldLabel: 'Fecha de Entrega',
                name: 'FechaEntrega',
                xtype: 'datefield',
                allowBlank: true
            }, {
                fieldLabel: 'Fecha Promesa de Entrega',
                name: 'FechaPromesaEntrega',
                xtype: 'datefield',
                allowBlank: true
            
            }]
        });
        Cognitum.Polizas.Siniestro.Auto.Componentes.ReparacionVehiculo.superclass.initComponent.apply(this, arguments);
    }
});
Ext.reg('sinaut.edtr.reparacion', Cognitum.Polizas.Siniestro.Auto.Componentes.ReparacionVehiculo);

////Tramite Aseg
Cognitum.Polizas.Siniestro.Auto.Componentes.TramiteAseguradora = Ext.extend(Karma.FB, {

    initComponent: function(){
    
        Ext.apply(this, {
            title: 'Tramite en Aseguradora',
            propertyName: 'TramiteAdmin',
            items: [{
                fieldLabel: 'Id',
                name: 'Id',
				xtype: 'hidden',
                allowBlank: true
            }, {
                fieldLabel: 'Fecha de Inicio',
                name: 'FechaInicio',
                xtype: 'datefield',
                allowBlank: true
            }, {
                fieldLabel: 'Fecha de Conclusión',
                name: 'FechaConclusion',
                xtype: 'datefield',
                allowBlank: true
            }, {
                xtype: 'textarea',
                fieldLabel: 'Descripcion',
                name: 'Descripcion',
                allowBlank: true
            }]
        });
        Cognitum.Polizas.Siniestro.Auto.Componentes.TramiteAseguradora.superclass.initComponent.apply(this, arguments);
    }
});
Ext.reg('sinaut.edtr.tramite', Cognitum.Polizas.Siniestro.Auto.Componentes.TramiteAseguradora);

////Asesoria Legal
Cognitum.Polizas.Siniestro.Auto.Componentes.AsesoriaLegal = Ext.extend(Karma.FB, {

    initComponent: function(){
    
        Ext.apply(this, {
            title: 'Asesoria Legal',
            propertyName: 'AsesoriaLegal',
            items: [{
                fieldLabel: 'Id',
                name: 'Id',
				xtype: 'hidden',
                allowBlank: true
            }, {
                fieldLabel: 'Num. Reporte',
                name: 'NumeroReporte',
                allowBlank: true
            }, {
                fieldLabel: 'Provedor',
                name: 'Provedor',
                allowBlank: true
            }, {
                fieldLabel: 'Abogado',
                name: 'Abogado',
                entityName: 'ContactoSimple',
                xtype: 'entity.link',
                allowBlank: true
            }]
        });
        Cognitum.Polizas.Siniestro.Auto.Componentes.AsesoriaLegal.superclass.initComponent.apply(this, arguments);
    }
});
Ext.reg('sinaut.edtr.asesoria', Cognitum.Polizas.Siniestro.Auto.Componentes.AsesoriaLegal);

////Apoyo Mensajeria
Cognitum.Polizas.Siniestro.Auto.Componentes.ApoyoMensajeria = Ext.extend(Karma.FB, {

    initComponent: function(){
        Ext.apply(this, {
            title: 'Apoyo en Mensajeria',
            propertyName: 'ApoyoMensajeria',
            items: [{
                fieldLabel: 'Id',
                name: 'Id',
				xtype: 'hidden',
                allowBlank: true
            }, {
                fieldLabel: 'Fecha de Entrega',
                name: 'FechaEntrega',
                xtype: 'datefield',
                allowBlank: true
            }, {
                fieldLabel: 'Contacto',
                name: 'ContactoEntrega',
                entityName: 'ContactoSimple',
                xtype: 'entity.link',
                allowBlank: true
            }]
        });
        Cognitum.Polizas.Siniestro.Auto.Componentes.ApoyoMensajeria.superclass.initComponent.apply(this, arguments);
    }
});
Ext.reg('sinaut.edtr.mensajeria', Cognitum.Polizas.Siniestro.Auto.Componentes.ApoyoMensajeria);

////Documentacion
Cognitum.Polizas.Siniestro.Auto.Componentes.Documentacion = Ext.extend(Karma.FB, {

    initComponent: function() {
        Ext.apply(this, {
            title: 'Documentacion',
            propertyName: 'Documentacion',
            items: [{
                fieldLabel: 'Id',
                name: 'Id',
                xtype: 'hidden',
                allowBlank: true
            }, {
                fieldLabel: 'Documentacion Completa',
                name: 'Completa',
                xtype: 'checkbox',
                allowBlank: true,
                listeners: {
                    'check': {
                        fn: this.onCheck,
                        scope: this
                    }
                }
            }, {
                fieldLabel: 'Documentos Faltantes',
                name: 'DoctosFaltantes',
                xtype: 'textarea',
                allowBlank: true
}]
            });
            Cognitum.Polizas.Siniestro.Auto.Componentes.Documentacion.superclass.initComponent.apply(this, arguments);
        },

        onCheck: function(fld, checked) {           
            if (checked)
                this.getForm().findField('Documentacion.DoctosFaltantes').disable();
            else
                this.getForm().findField('Documentacion.DoctosFaltantes').enable();
        }

    });
Ext.reg('sinaut.edtr.documentacion', Cognitum.Polizas.Siniestro.Auto.Componentes.Documentacion);
